﻿Imports Logica

''' <summary>
''' User control de configuraciones
''' </summary>
''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
Public Class Configuracion

#Region "David murillo"


    Private ucConsultar As New ConsultarCuentaContable
    Private ucConfiguracionGeneral As New ConfiguracionGeneral
    Private ucModificarCargasSociales As ModificarCargasSociales
    Private ucModificarPeriodoCV As ModificarPeriodoCV

    ''' <summary>
    ''' Sirve para esconder los user control que no vamos a utilizar
    ''' </summary>
    ''' <param name="p_uc">El user control que se quiere esconder</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Public Sub mostrarControl(ByVal p_uc As UserControl)
        'Escondemos todas las pantallas de configuración
        For Each uc As Control In Me.Controls
            If TypeOf uc Is UserControl Then
                uc.Visible = False
            End If
        Next

        'Mostramos la que se pidió
        p_uc.Visible = True
    End Sub

    ''' <summary>
    ''' Se ejecuta despues de seleccionar un objeto en el treeview
    ''' </summary>
    ''' <param name="sender">El objeto que lo envía</param>
    ''' <param name="e">Argumentos del evento</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Private Sub tvConfiguracion_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvConfiguracion.AfterSelect
        Dim ubicacion As New Point(152, 0)

        Select Case e.Node.Name

            Case "ndModCargasSoc"
                ucModificarCargasSociales = New ModificarCargasSociales
                ucModificarCargasSociales.Visible = False
                ucModificarCargasSociales.Location = ubicacion
                Me.Controls.Add(ucModificarCargasSociales)
                mostrarControl(ucModificarCargasSociales)

            Case "ndModPerCV"
                ucModificarPeriodoCV = New ModificarPeriodoCV
                ucModificarPeriodoCV.Visible = False
                ucModificarPeriodoCV.Location = ubicacion
                Me.Controls.Add(ucModificarPeriodoCV)
                mostrarControl(ucModificarPeriodoCV)

            Case "ndConsultar"
                mostrarControl(ucConsultar)

            Case "ndGeneral"
                mostrarControl(ucConfiguracionGeneral)
        End Select

    End Sub


    ''' <summary>
    ''' Se utiliza al cargar la pantalla
    ''' </summary>
    ''' <param name="sender">El objeto que lo envía</param>
    ''' <param name="e">Argumentos del evento</param>
    ''' <remarks>Creado por: David Murillo, Creado: 12/06/2010, Modificado: 30/06/2010</remarks>
    Private Sub Configuracion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'USER CONTROLS DE ROBERTO F.

        Dim ubicacion As New Point(152, 0)

        'Consultar
        ucConsultar.Visible = False
        ucConsultar.Location = ubicacion

        'Conf general
        ucConfiguracionGeneral.Visible = False
        ucConfiguracionGeneral.Location = ubicacion


        ' Agrega los controles
        Me.Controls.Add(ucConsultar)
        Me.Controls.Add(ucConfiguracionGeneral)

        'Permiso Cargas sociales
        If Not Gestor.usuarioTienePermiso(Gestor.usuarioActual("identificacion"), 34) Then
            tvConfiguracion.Nodes("ndModCargasSoc").Remove()

        End If

        'Permiso modificar periodo cv
        If Not Gestor.usuarioTienePermiso(Gestor.usuarioActual("identificacion"), 33) Then
            tvConfiguracion.Nodes("ndModPerCV").Remove()
        End If

        'Permiso a conf. general
        If Not Gestor.usuarioTienePermiso(Gestor.usuarioActual("identificacion"), 0) Then
            tvConfiguracion.Nodes("ndGeneral").Remove()
        End If

    End Sub

#End Region

End Class
